package com.hrg.rds.biz.robot.domain;

import lombok.Data;

import java.util.List;

@Data
public class PushedMessage {
	private Double x;
	private Double y;
	private Double angle;
	private String current_station;
	private Double vx;
	private Double vy;
	private Boolean blocked;
	private Double battery_level;
	private Boolean charging;
	private Boolean emergency;
	private List<Alert> fatals;
	private List<Alert> errors;
	private String current_map;
	private String vehicle_id;
	private String create_on;
	private Boolean brake;
	private Boolean soft_emc;
	private CurrentLock current_lock;
	private Double confidence;
	// 0 = Normal, 1 = Skidding, 2 = LowConfidence
	private Integer loc_state;
	private Boolean is_stop;
	// 被阻挡的原因,0 = Ultrasonic (超声),1 = Laser (激光),2 = Fallingdown (防跌落传感器),3 = Collision (碰撞传感器),4 = Infrared (红外传感器),5 =  Lock（锁车开关），6 = 动态障碍物，7 = 虚拟激光点，8 = 3D 相机，9 = 距离传感器，10 = DI 超声
	private Integer block_reason;
	// 发生阻挡的 id 号, 仅当 block_reason = 0、2、3、4、9、10 时有意义
	private Integer block_id;
	// 机器人是否减速
	private Boolean slowed;
	// 和阻挡原因一致
	private Integer slow_reason;
	private Integer task_status;
	// 导航类型, 0 = 没有导航, 1 = 自由导航到任意点, 2 = 自由导航到站点, 3 = 路径导航到站点, 7 = 平动转动, 100 = 其他
	private Integer task_type;
	private String target_id;
	private List<Double> target_point;
	// 当前导航路径上已经经过的站点, 为站点的数组, 仅当 task_type 为 3 或 4 时该字段有效点。这里会列出所有已经经过的中间点
	private List<String> finished_path;
	// 当前导航路径上尚未经过的站点, 为站点的数组, 仅当 task_type 为 3 或 4 时该字段有效。这里会列出所有尚未经过的中间点
	private List<String> unfinished_path;
	private Fork fork;
	private Roller roller;
	private Jack jack;
	private Hook hook;
	private Double yaw;
	private Double pitch;
	private List<Object> pgvs;
	// 仅指示机器人是否连接手动充电器，不保证电源是否接通，连接手动充电器时不能运动(仅 SRC-2000 支持)
	private Boolean manual_charge;
	// 仅指示机器人是否连接自动充电桩，不保证电源是否接通(仅 SRC-2000 支持)
	private Boolean auto_charge;
	// true 表示继电器开启, false 表示继电器关闭
	private Boolean electric;
	// 当前连接 Wifi 的 SSID（机器人需要支持连接 Wifi 并且已经连接，否则为空）
	private String ssid;
	// 当前连接 Wifi 的信号强度，0-100 百分比（机器人需要支持连接 Wifi 并且已经连接，否则为0）
	private Double rssi;
	// 当前连接的AP的mac地址
	private String ap_addr;
	// 0 = 自然轮廓定位,1 = 反光柱定位,2 = 二维码定位,3 = 里程计模式,4 = 3D 定位,5 = 天码定位,6 = 特征定位,7 = 3D 特征定位,8 = 3D KF定位
	private Integer loc_method;

}